package com.rfid.emergencywarehouse.net;

import com.rfid.emergencywarehouse.net.entity.AssetOrderRes;
import com.rfid.emergencywarehouse.net.entity.CreateListingReq;
import com.rfid.emergencywarehouse.net.entity.CreateListingRes;
import com.rfid.emergencywarehouse.net.entity.CreateStockReq;
import com.rfid.emergencywarehouse.net.entity.CreateStocklRes;
import com.rfid.emergencywarehouse.net.entity.EnterWorkArea;
import com.rfid.emergencywarehouse.net.entity.GetAssetReq;
import com.rfid.emergencywarehouse.net.entity.GetAssetRes;
import com.rfid.emergencywarehouse.net.entity.KFKWRes;
import com.rfid.emergencywarehouse.net.entity.LoginReq;
import com.rfid.emergencywarehouse.net.entity.LoginRes;
import com.rfid.emergencywarehouse.net.entity.GetMaterialCategoryListRes;
import com.rfid.emergencywarehouse.net.entity.MaterialModeRes;
import com.rfid.emergencywarehouse.net.entity.MaterilListRes;
import com.rfid.emergencywarehouse.net.entity.GetOrderDetailRes;
import com.rfid.emergencywarehouse.net.entity.OrderKwRes;
import com.rfid.emergencywarehouse.net.entity.OrderRes;
import com.rfid.emergencywarehouse.net.entity.PanDianReq;
import com.rfid.emergencywarehouse.net.entity.PandianRes;
import com.rfid.emergencywarehouse.net.entity.QueryBarcodeReq;
import com.rfid.emergencywarehouse.net.entity.QueryBarcodeRes;
import com.rfid.emergencywarehouse.net.entity.RackRes;
import com.rfid.emergencywarehouse.net.entity.ReturnReq;
import com.rfid.emergencywarehouse.net.entity.ReturnRes;
import com.rfid.emergencywarehouse.net.entity.ShelfingReq;
import com.rfid.emergencywarehouse.net.entity.ShelfingRes;
import com.rfid.emergencywarehouse.net.entity.StockBarcodeRes;
import com.rfid.emergencywarehouse.net.entity.UserInfoRes;
import com.rfid.emergencywarehouse.net.entity.WGStatusRes;
import com.rfid.emergencywarehouse.net.entity.WareHouseareaRes;
import com.rfid.emergencywarehouse.net.entity.WorkAreRes;
import com.rfid.emergencywarehouse.net.entity.WorkAreaRes;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface INetService {

    @POST("/api/cang/account/login")
    public Call<LoginRes> login(@Body LoginReq req);

    @GET("/api/cang/account/getUserInfo")
    public Call<UserInfoRes> getUserInfo();

    @GET("/api/materialCategory/list")
    public Call<GetMaterialCategoryListRes> getMaterialCategoryList(@Query("Page")int Page,@Query("PageSize")int PageSize);

    @POST("/api/cang/stockbarcode/create")
    public Call<CreateStocklRes> createStock(@Body CreateStockReq req);

    @GET("/api/material/list")
    public Call<MaterilListRes> getMaterialList(@Query("CategoryId")String categoryId);

    @GET("/api/sku/list")
    public Call<MaterialModeRes> getMaterialModeList(@Query("MaterialId")String materialId);

    @GET("/api/cang/stockbarcode/list")
    public Call<StockBarcodeRes> getStockList();

    @GET("/api/cang/warehousearea/list")
    public Call<WareHouseareaRes> getWarehouseareaList();

    @GET("/api/WorkArea/List")
    public Call<WorkAreaRes> getWorkAreaList();

    @GET("/api/cang/rack/list")
    public Call<RackRes> getRackList();

    @POST("/api/cang/inorder/create")
    public Call<CreateListingRes> createListing(@Body CreateListingReq req);

    @GET("/api/cang/inorder/list")
    public Call<OrderRes> getOrderList(@Query("state")int state,@Query("workUserId")String workUserId);

    @POST("/api/cang/stockbarcode/bindLocation")
    public Call<ShelfingRes> shelfing(@Body ShelfingReq req);


    @POST("/api/cang/StockBarCode/List")
    public Call<QueryBarcodeRes> queryBarcodeInfo(@Body QueryBarcodeReq req);

    @GET("/api/paramconfig/details")
    public Call<WGStatusRes> getWGStatusConfig(@Query("name") String req);

    @POST("/api/cang/outorder/back")
    public Call<ReturnRes> returnAsset(@Body ReturnReq req);

    @POST("/api/cang/OutOrder/Pick")
    public Call<GetAssetRes> doGetAsset(@Body GetAssetReq asset);

    @GET("/api/cang/outorder/list")
    public Call<AssetOrderRes> getAssetOrderList(@Query("state")int state,@Query("workUserId")String workUserId);

    //有单领取库位
    @GET("/api/cang/OutOrder/Works")
    public Call<KFKWRes> getKFKWOfOrder(@Query("OutOrderId") String OutOrderId, @Query("FromWorkAreaId") String FromWorkAreaId);
    //有单领取库房
    @GET("/api/cang/OutOrder/WorkAreas")
    public Call<WorkAreRes> getWorkAre(@Query("OutOrderId") String OutOrderId);

    @GET("/api/cang/outorder/details")
    public Call<GetOrderDetailRes>  getGetOrderDetail(@Query("Id") String id);

    //有单领上架荐库位
    @GET("/api/cang/InOrder/Works")
    public Call<OrderKwRes>  getOrderKw(@Query("InOrderId") String InOrderId);

    //有单领上架荐库位
    @POST("/api/cang/StockBarCode/UploadCheckData")
    public Call<PandianRes>  pandian(@Body PanDianReq req);

    //有单领上架荐库位
    @POST("/api/cang/work/enterWorkArea")
    public Call<ReturnRes>  enterWorkArea(@Body EnterWorkArea req);

    @POST(" /api/cang/work/exitWorkArea")
    public Call<ReturnRes>  exitWorkArea(@Body EnterWorkArea req);

}
